/*
 * ExchRzTransNoticeMapper.java
 * Copyright © 0000-9999 caoxy Technologies Inc.
 * All right reserved.
 * 奥里给
 */
package com.cxy.inter;

import com.github.pagehelper.Page;
import com.cxy.entity.ExchRzTransNotice;
import com.cxy.entity.ExchRzTransNoticeExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

/**
 * @Title EXCH_RZ_TRANS_NOTICE表的Mapper类
 * @author caoxiaoyu31978
 * @date 2023-08-31 11:12:49
 * @description 记录融资通知信息,当银行向本系统发送动账通知时需要记录在此表,我方向交易所进行通讯时为轮询数据源表
 * <p>
 * 这是工具生成代码，禁止手工修改
 */
@Mapper
public interface ExchRzTransNoticeMapper {
    /**
     * 根据指定的条件获取数据库记录数:EXCH_RZ_TRANS_NOTICE
     *
     * @param example         Example对象
     * @param tableSuffixList 表后缀集
     * @return long 符合条件的记录数
     */
    long countByExample(@Param("example") ExchRzTransNoticeExample example, @Param("tableSuffixList") List<String> tableSuffixList);

    /**
     * 根据指定的条件删除数据库符合条件的记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param example     Example对象
     * @param tableSuffix 表后缀
     * @return int 删除影响的记录数
     */
    int deleteByExample(@Param("example") ExchRzTransNoticeExample example, @Param("tableSuffix") String tableSuffix);

    /**
     * 根据主键删除数据库的记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param hostTrDate   核心主机日期
     * @param hostSerialNo 核心流水号
     * @param cdFlag       借贷标识-G00054-D支出-C收入
     * @param tableSuffix  表后缀
     * @return int 删除影响的记录数
     */
    int deleteByPrimaryKey(@Param("hostTrDate") String hostTrDate, @Param("hostSerialNo") String hostSerialNo, @Param("cdFlag") String cdFlag, @Param("tableSuffix") String tableSuffix);

    /**
     * 新写入数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param row         实体对象
     * @param tableSuffix 表后缀
     * @return int 写入影响的记录数
     */
    int insert(@Param("row") ExchRzTransNotice row, @Param("tableSuffix") String tableSuffix);

    /**
     * 动态字段,写入数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param row         实体对象
     * @param tableSuffix 表后缀
     * @return int 写入影响的记录数
     */
    int insertSelective(@Param("row") ExchRzTransNotice row, @Param("tableSuffix") String tableSuffix);

    /**
     * 批量写入数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param rows        记录集
     * @param tableSuffix 表后缀
     * @return int 写入影响的记录数
     */
    int insertBatch(@Param("rows") List<ExchRzTransNotice> rows, @Param("tableSuffix") String tableSuffix);

    /**
     * 根据指定的条件查询符合条件的数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param example         Example对象
     * @param tableSuffixList 表后缀集
     * @return List<ExchRzTransNotice> 符合条件的记录
     */
    List<ExchRzTransNotice> selectByExample(@Param("example") ExchRzTransNoticeExample example, @Param("tableSuffixList") List<String> tableSuffixList);

    /**
     * 根据指定的条件分页查询符合条件的数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param example         Example对象
     * @param tableSuffixList 表后缀集
     * @param rowBounds       分页对象
     * @return Page<ExchRzTransNotice> 符合条件的记录
     */
    Page<ExchRzTransNotice> selectByExampleWithPage(@Param("example") ExchRzTransNoticeExample example, @Param("tableSuffixList") List<String> tableSuffixList, @Param("rowBounds") RowBounds rowBounds);

    /**
     * 根据指定主键获取一条数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param hostTrDate   核心主机日期
     * @param hostSerialNo 核心流水号
     * @param cdFlag       借贷标识-G00054-D支出-C收入
     * @param tableSuffix  表后缀
     * @return ExchRzTransNoticeEXCH_RZ_TRANS_NOTICE 实体对象
     */
    ExchRzTransNotice selectByPrimaryKey(@Param("hostTrDate") String hostTrDate, @Param("hostSerialNo") String hostSerialNo, @Param("cdFlag") String cdFlag, @Param("tableSuffix") String tableSuffix);

    /**
     * 动态根据指定的条件来更新符合条件的数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param row         实体对象
     * @param example     Example对象
     * @param tableSuffix 表后缀
     * @return int 更新影响的记录数
     */
    int updateByExampleSelective(@Param("row") ExchRzTransNotice row, @Param("example") ExchRzTransNoticeExample example, @Param("tableSuffix") String tableSuffix);

    /**
     * 根据指定的条件来更新符合条件的数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param row         实体对象
     * @param example     Example对象
     * @param tableSuffix 表后缀
     * @return int 更新影响的记录数
     */
    int updateByExample(@Param("row") ExchRzTransNotice row, @Param("example") ExchRzTransNoticeExample example, @Param("tableSuffix") String tableSuffix);

    /**
     * 动态字段,根据主键来更新符合条件的数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param row         实体对象
     * @param tableSuffix 表后缀
     * @return int 更新影响的记录数
     */
    int updateByPrimaryKeySelective(@Param("row") ExchRzTransNotice row, @Param("tableSuffix") String tableSuffix);

    /**
     * 根据主键来更新符合条件的数据库记录:EXCH_RZ_TRANS_NOTICE
     *
     * @param row         实体对象
     * @param tableSuffix 表后缀
     * @return int 更新影响的记录数
     */
    int updateByPrimaryKey(@Param("row") ExchRzTransNotice row, @Param("tableSuffix") String tableSuffix);
}